package javase.Reflect;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

// 反射Student类中所有的属性Field
public class ReflectTest05 {
    public static void main(String[] args) throws ClassNotFoundException {
        // 获取整个类
        Class studentClass = Class.forName("javase.bean.Student");

        // 获取类中的Field  (public 修饰的
        Field[] fields = studentClass.getFields();

        System.out.println(fields.length);
        Field f = fields[0];
        // 取出并获得名字
        String fieldName = f.getName();
        System.out.println(fieldName);

        // 获取所有的Field
        Field[] fs = studentClass.getDeclaredFields();
        System.out.println(fs.length);
        System.out.println("===============================");
        for(Field ff : fs){
            // 获取属性的修饰符列表
            int i = ff.getModifiers();
            System.out.println(i);
            // 转换为字符串
            String modifierString = Modifier.toString(i);
            System.out.println(modifierString);

            Class<?> fieldType = ff.getType();
            String fName = fieldType.getSimpleName();
            System.out.println(fName);
            // String fName = fieldType.getName();

            System.out.println(ff.getName());



        }
    }
}
